مدیریت فایل ها به کمک کدهای VBA در اکسل
سلام به مطلب دیگری از سری مطالب آموزش برنامه نویسی VBA در سایت سافت پلاس خوش آمدید .
امروز می خواهیم باز هم در مورد برنامه نویسی وی بی ای در داخل اکسل و بطور خاص در مورد مدیریت فایل ها به کمک کدهای VBAبا هم یک مطلب کاربردی را یاد بگیریم .
مطمئنا خوب می دانید که با استفاده از برنامه نویسی و کدهای VBA ما خیلی راحت می توانیم برنامه اکسلی را که در داخل آن مشغول کد نویسی هستیم را مدیریت کنیم .
منظور از مدیریت کردن هم این است که مثلا می توانیم با استفاده از کد نویسی چند تا شیت را از محیط کاری اکسل حذف کنیم یا برعکس چند تا شیت را به مجموعه شیت های موجود اضافه کنیم .
البته این فقط دو تا مثال ساده بود از صدها و هزاران کاری که با استفاده از برنامه نویسی وی بی ای می توانیم در اکسل انجام بدهیم .
به عنوان یک برنامه نویس ممکن است در موقعیتی قرار بگیرید که نیاز داشته باشید که به یک فایل خارج از اکسل دسترسی پیدا کنید یا به عبارتی نیاز به مدیریت فایل ها به کمک کدهای VBA داشته باشید .
حتی بالاتر از آن بتوانید در داخل آن فایل کارهایی مثل نوشتن یک سری از اطلاعات و یا خواندن اطلاعات در داخل آن را انجام بدهید .
اما یک سوال . هیچ وقت فکر کردید که وقتی در داخل اکسل برنامه نویسی می کنید چطور می شود مثلا یک فایل اکسل دیگر را باز کنید ؟ البته منظورم از طریق کد نویسی است
یعنی با استفاده از کد نویسی کاری کنید که یک فایل اکسل دیگر یا یک فایل WORD بصورت خودکار باز شود .
و حتی بالاتر از آن کاری کنید که در داخل فایل مقصدتان هم یک سری تغییراتی که مد نظرتان است اعمال شود .
بنظرتان این کارهایی که گفتم شدنی هستند ؟ آن هم فقط از طریق برنامه نویسی VBA ؟
واقعا هیجان انگیز خواهد بود اگر بتوانیم چنین کارهایی را انجام بدهیم . مگر نه ؟
اگر با من در این زمینه هم عقیده هستید و دوست دارید بدانید که چطور می شود همه این کارها را با استفاده از برنامه نویسی VBA انجام داد پس از شما دعوت می کنم که تا انتهای این مطلب من را همراهی کنید .
مراحل مدیریت فایل ها به کمک کدهای VBA
حالا با هم وارد اصل آموزش خودمان می شویم . برای اینکه بتوانیم مدیریت فایل ها به کمک کدهای VBA را انجام بدهیم اول باید با یک دستور و یا بهتر است بگویم با متد در برنامه نویسی وی بی ای آشنا شویم .
این متد و یا دستور اسمش Open است .
همانطور که از اسمش هم پیداست به کمک آن می توانیم فایل های مختلف را باز کنیم . اما اول باید با ساختار آن در کدهای VBA آشنا بشویم .
در قسمت پایین ساختار این دستور را می توانید مشاهده کنید.
Open For [Access access] [lock]
نمی دانم در اینکه این دستور خیلی ساده است با من هم عقیده هستید یا نه ؟ اما اگر با این دستور آشنا نیستید و می خواهید کار کردن با آن را خیلی ساده یاد بگیرید پس با من همراه باشید .
مطمئنا اولین کاری که باید انجام بدهیم این است که با آرگومانها یا به عبارتی ورودی های این دستور آشنا شویم .
اما کار این آشنایی را گام به گام و با استفاده از مثال هایی ساده با هم دنبال خواهیم کرد .
مدیریت کردن محدوده ها در اکسل به کمک
کد نویسی VBA
آشنایی با اولین آرگومان
فرض کنید که من در داخل اکسل مشغول به کد نویسی هستم . در جایی از کدهای خودم احتیاج پیدا می کنم که یک فایل اکسل دیگر را باز کنم .
اسم فایل مورد نظر من mysoft.xlsx و در درایو D کامپیوتر من داخل پوشه ای به اسم sample قرار دارد .
خوب برای اینکه از اکسل بخواهم که این فایل را برایم باز کند در داخل کدهای خودم اینطور می نویسم :
Workbooks.Open "D:\sample\mysoft.xlsx"
همین خط کد ساده که اجرا شود برنامه به سراغ این آدرس رفته و فایل مربوطه را برای من باز می کند .
یادتان هست در قسمت مربوط به معرفی ساختار دستور open اولین ورودی که داشتیم نامش path name بود ؟ خُب در این مثال همین آرگومان را مقدار دهی کردیم .
پس آرگومان path name آدرس فایل مورد نظر را از ما می گیرد .
حالا برویم به سراغ آرگومان دوم یعنی همان Mod
آرگومان mod چه کار می کند ؟
این آرگومان نوع دسترسی به فایل را تعیین می کند . خود این ورودی می تواند یکی از چند تا حالت زیر را داشته باشد .
1-. Input : با استفاده از حالت ما می توانیم فایل را باز کنیم اما فقط قادر به خواندن اطلاعات آن هستیم .
2-. Output: با استفاده از این حالت یک فایل را باز کرده و هم می توانیم در آن اطلاعات جدیدی بنویسیم و هم اطلاعات موجود در آن را بخوانیم .
3.Append: این حالت هم مانند حالت قبلی است اما اطلاعات را به آخر اطلاعات قبلی اضافه می کند .
random : این حالت بصورت پیشفرض برای اکسل تعریف شده است که اگر حالات قبلی را انتخاب نکنیم این گزینه در نظر گرفته می شود .
حالا برویم یک مثال دیگر را بررسی کنیم .
به کدهای زیر نگاه کنید .
Sub test()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\shahr-pc\Desktop\123.xlsm", ReadOnly:=True)
wb.Sheets(1).Cells(1, 1).Value = "سافت پلاس خوش آمدید "
End Sub
اینجا من یک شی از نوع ورک بوک تعریف کرده ام در خط شماره 5 آن ورک بوک را مقدار دهی کرده و از اکسل می خواهم که ورک بوک مورد نظر را باز کند .
در خط شماره 7 هم می خواهم که در داخل اولین سلول از این ورک بوک عبارت مورد نظر من را بنویسد .
می بینید که خیلی راحت این کار برای من انجام می شود .
اضافه کردن اطلاعات به یک فایل متنی
توی این بخش می خواهیم با هم یک فایل متنی را که از قبل در داخل سیستم ما وجود دارد را باز کرده و متنی را به آن اضافه کنیم . البته که می خواهیم این کارها را به کمک کدهای VBA انجام بدهیم .
پس برای شروع کار کدهای زیر را در نظر بگیرید .
Sub txt_file_append()
Dim inttxtfile As Integer
Dim strfile_Path As String
Dim strFile_Content As String
strfile_Path = "C:\Users\shahr-pc\Desktop\mytext.txt"
inttxtfile = FreeFile
Open strfilePath For Append As inttxtfile
Print #inttxtfile, "خوش آمدید"
Print #inttxtfile, "softpluse.ir"
Print #inttxtfile, "softpluse.ir"
Close inttxtfile
End Sub
پیشنهاد می کنم این مطلب را هم مطالعه کنید : ارسال اطلاعات از اکسل به اکسس به کمک کدهای VBA
حالا برویم یک نگاهی به این کدها بیندازیم .
در سه تا خط اول از این کدها ما سه تا متغیر تعریف کرده ایم که در ادامه کدها از این متغیرها قرار است استفاده کنیم .
در خط شماره 10 آدرس فایل متنی را که در سیستم من وجود دارد را می توانید مشاهده کنید . اسم فایل متنی مورد نظر من mytext.txt است .
در خط شماره 12 از یک تابع داخلی اکسل استفاده کرده ام که بعدا راجع به آن در مطلب جداگانه ای صحبت خواهم کرد .
در خط شماره 14 هم از برنامه خواسته ام که فایل مورد نظر را برای من باز کند . در خط های بعدی هم متن های مورد نظرم را مشخص کرده ام تا توسط برنامه در داخل فایل متنی درج شود .
با استفاده از این مراحل ما می توانیم یک فایل متنی را باز کرده و اطلاعات خودمان را در داخل آن درج کنیم .
امیدوارم که این آموزش مربوط به مدیریت فایل ها به کمک کدهای VBA برایتان مفید بوده باشد .
این مطلب را مطالعه کردید .
اگر دوست دارید کلی نکته و ترفند کاربردی در کار با اکسل و برنامه نویسی یاد بگیرید از شما دعوت می کنم که به پیج اکسل پلاس در اینستاگرام و یا به کانال سافت پلاس در آپارات مراجعه کنید .
خوشحال می شوم اگر که نظر خودتان را در مورد این آموزش در انتهای همین مطلب بصورت کامنت درج کنید.
اگر سوالی هم در این زمینه این آموزش دارید مطرح کنید تا در اولین فرصت پاسخ خود را در همین قسمت دریافت کنید .
مطالب زیر را حتما مطالعه کنید
چطور زبان ورود اطلاعات در اکسس را کنترل کنیم ؟
با رعایت این نکات تبدیل به یک برنامه نویس حرفه ای در اکسل شوید .
۷ نکته مهم در برنامه نویسی VBA که باید آنها را بدانید
ماکرو نویسی در اکسل |ببینید که ماکروها چقدر کاربردی اند.
زبان وی بی ای مرده است
۱۰ کاری که بدون برنامه نویسی VBA قادر به انجامش نبودید .
توی این آموزش کارهایی رو بررسی می کنیم که فقط با استفاده از کدهای وی بی ای می شود آنها را در آفیس انجام داد .
دیدگاهتان را بنویسید